package cn.tedu.ivos.base.security;

import lombok.Data;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;

import java.util.Set;

//自定义用户详情类
//lombok提供的@Data注解
@Data
public class CustomUserDetails implements UserDetails {
    //自定义用户属性
    private  Long userId;//用户id
    private String username;//用户名
    private String password;//密码
    private Set<? extends GrantedAuthority> authorities;//用户权限

    //用户的账号是否过期了,true表示永不过期
    @Override
    public boolean isAccountNonExpired() {
        return true;
    }
    //用户的账号是否被锁定,true表示永不锁定
    @Override
    public boolean isAccountNonLocked() {
        return true;
    }
    //用户的凭证是否过期，true表示永不过期
    @Override
    public boolean isCredentialsNonExpired() {
        return true;
    }
    //用户的账号是否被启用，true表示启用
    @Override
    public boolean isEnabled() {
        return true;
    }
}
